1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect.testing.google;
18
19 import static com.google.common.collect.testing.features.CollectionSize.ZERO;
20 import static com.google.common.collect.testing.features.MapFeature.ALLOWS_NULL_KEYS;
21 import static com.google.common.collect.testing.features.MapFeature.ALLOWS_NULL_KEY_QUERIES;
22
23 import com.google.common.annotations.GwtCompatible;
24 import com.google.common.collect.Multimap;
25 import com.google.common.collect.testing.features.CollectionSize;
26 import com.google.common.collect.testing.features.MapFeature;
27
28
29
30
31
32
33 @GwtCompatible
34 public class MultimapContainsKeyTester<K, V>
35 extends AbstractMultimapTester<K, V, Multimap<K, V>> {
36 @CollectionSize.Require(absent = ZERO)
37 public void testContainsKeyYes() {
38 assertTrue(multimap().containsKey(sampleKeys().e0));
39 }
40
41 public void testContainsKeyNo() {
42 assertFalse(multimap().containsKey(sampleKeys().e3));
43 }
44
45 public void testContainsKeysFromKeySet() {
46 for (K k : multimap().keySet()) {
47 assertTrue(multimap().containsKey(k));
48 }
49 }
50
51 public void testContainsKeyAgreesWithGet() {
52 for (K k : sampleKeys()) {
53 assertEquals(!multimap().get(k).isEmpty(), multimap().containsKey(k));
54 }
55 }
56
57 public void testContainsKeyAgreesWithAsMap() {
58 for (K k : sampleKeys()) {
59 assertEquals(multimap().containsKey(k), multimap().asMap().containsKey(k));
60 }
61 }
62
63 public void testContainsKeyAgreesWithKeySet() {
64 for (K k : sampleKeys()) {
65 assertEquals(multimap().containsKey(k), multimap().keySet().contains(k));
66 }
67 }
68
69 @MapFeature.Require(ALLOWS_NULL_KEYS)
70 @CollectionSize.Require(absent = ZERO)
71 public void testContainsKeyNullPresent() {
72 initMultimapWithNullKey();
73 assertTrue(multimap().containsKey(null));
74 }
75
76 @MapFeature.Require(ALLOWS_NULL_KEY_QUERIES)
77 public void testContainsKeyNullAbsent() {
78 assertFalse(multimap().containsKey(null));
79 }
80
81 @MapFeature.Require(absent = ALLOWS_NULL_KEY_QUERIES)
82 public void testContainsKeyNullDisallowed() {
83 try {
84 multimap().containsKey(null);
85 fail("Expected NullPointerException");
86 } catch (NullPointerException expected) {
87
88 }
89 }
90 }